1. Technical Field
The present disclosure relates to optimizing read levels of a nonvolatile memory by inserting pilot signals in unused bytes of a memory page.
2. Description of the Related Art
Data Compression:
Data compression and de-duplication are used to improve write amplification by programming two or more compressed pages to the same physical address. A related-art compression method applies compression to 8 KB pages (or 4 KB sectors). If two pages are both compressed to less than 4 KB each or four sectors are compressed to less than 2 KB each, they may be written to the same physical address. Pages that are not compressed to less than 50% of their initial size are written to memory without compression.
More complex methods for combining compressed pages also exist. These methods include keeping a buffer of N compressed pages and attempting to match pages whose total size is lower than 8 KB. Another such method keeps a few program buffers of size 8 KB and attempts to optimally fill the buffers with incoming compressed pages. However, dividing a data unit (e.g., a sector of 4 kB or page of 8 kB) between different physical locations (pages/addresses) results in degradation in read performance, in that reading those sectors will take twice as long.
Both the simple and complex techniques suffer from the following problem. The techniques do not use the space remaining after joining two or more pages together. For example, if two pages of size 8 KB are compressed to 40% of their initial size each, only 80% (6.4 KB) of the physical page will be programmed with data. In this case, the remaining 20% will not be utilized to achieve additional gain. The same concept applies for 16 kB pages, as well. Therefore, the remaining free space is not put to a useful purpose.
Read Level Optimization:
Methods to optimize read levels include one-shot estimation and read-voltage tracking loop (RVTL). With one-shot estimation, a first read is performed, followed by a count of cells above/below a selected threshold. According to the count, optimal levels are selected from a predefined table. The first (estimation) read is usually set for the high voltage symbol (P3 for MLC or P7 for TLC). The first read level is selected to be the optimal read level for a certain retention scenario. This optimization scheme requires an additional one read in the worst case. The one-shot estimation scheme relies on the presumptions that the data is uniformly distributed between levels and that errors between symbols do not influence the count significantly.
RVTL provides feedback convergence to optimal read levels. A first read is performed, followed by a count of cells above/below a selected threshold. If the count is too high/low the read level is shifted by ΔV to the right direction. This procedure continues until convergence to an optimal ΔV. This scheme increases read duration, but relies on the presumptions that the data is uniformly distributed between levels and that errors between symbols do not influence the count significantly.